package com.dawn.module.hospital.controller.admin.chs.config.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 医保支付配置新增/修改 Request VO")
@Data
public class ChsConfigSaveReqVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9177")
    private Long id;

    @Schema(description = "appid", requiredMode = Schema.RequiredMode.REQUIRED, example = "8027")
    @NotEmpty(message = "appid不能为空")
    private String appId;

    @Schema(description = "应用名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "应用名称不能为空")
    private String appName;

    @Schema(description = "应用类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "应用类型不能为空")
    private String appType;

    @Schema(description = "定点医药机构应用ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32453")
    @NotEmpty(message = "定点医药机构应用ID不能为空")
    private String orgAppId;

    @Schema(description = "机构渠道认证编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "机构渠道认证编码不能为空")
    private String orgChnlCrtfCodg;

    @Schema(description = "第三方渠道名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "第三方渠道名称不能为空")
    private String channelName;

    @Schema(description = "渠道号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "渠道号不能为空")
    private String channel;

    @Schema(description = "城市编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "城市编码不能为空")
    private String cityCode;

    @Schema(description = "定点医药机构编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "定点医药机构编码不能为空")
    private String orgCodg;

    @Schema(description = "合作方id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17444")
    @NotEmpty(message = "合作方id不能为空")
    private String partnerId;

    @Schema(description = "密钥", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "密钥不能为空")
    private String partnerSecret;

    @Schema(description = "渠道授权地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.ynzykj.net")
    @NotEmpty(message = "渠道授权地址不能为空")
    private String channelOauthUrl;

    @Schema(description = "渠道获取用户地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.ynzykj.net")
    @NotEmpty(message = "渠道获取用户地址不能为空")
    private String channelUserUrl;

    @Schema(description = "回调地址", example = "https://www.ynzykj.net")
    private String redirectUrl;

    @Schema(description = "his分账下单地址", example = "https://www.ynzykj.net")
    private String hisOrderUrl;

    @Schema(description = "his支付确认地址", example = "https://www.ynzykj.net")
    private String hisConfirmUrl;

    @Schema(description = "his退费地址", example = "https://www.ynzykj.net")
    private String hisRefundUrl;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;

}